package com.clstu.regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则表达式应用实例
 */
public class RegExp07 {
    public static void main(String[] args) {

        //验证文字
//        String content = "我是帅哥";
//        String regStr = "^[\u0391-\uffe5]+$";//文字的码值范围

        //验证邮政编码,要求6位数字
//        String content = "6543210";
//        String regStr = "^[0-9]\\d{5}$";//一位数字开始,5位数字结束

        //验证qq号码 5-10位数字
//        String content="1503875175";
//        String regStr="^[0-9]\\d{4,9}$";//一位数字开始,4-9位数字结束

//        //手机号码 要求 138,173,150,182 开头 11位数字
//        String content = "17318481094";
//        String regStr = "^1(?:38|73|50|82)\\d{8}$";

        //验证url
        //需要注意的是:[.]中的.表示的就是.这个字符,而不是任意字符 等价于\\.
        String content = "https://www.bilibili.com/video/BV1fh411y7R8?p=894&spm_id_from=pageDriver&vd_source=075000c5f1595802475a44f77a45fdd7";
//        String regStr = "^(http[s]?://)?(\\w+\\.)+\\w+(/[\\w-?.&%$#@!~_=+]+)*$";//挨着写就行
        String regStr = "(http[s]?://)?(\\w+\\.)+\\w+(/[\\w-?.&%$#@!~_=+]+)*";//也可以不用^$套着,直接整体匹配
        Pattern pattern = Pattern.compile(regStr);
        Matcher matcher = pattern.matcher(content);
//        if (matcher.find()){//方法1(find()方法,必须要用^$套着)
        if(Pattern.matches(regStr,content)){//方法2直接整体匹配(注意整体匹配不是用find()方法判断的!!!!)
            System.out.println("验证成功");
        }else {
            System.out.println("验证失败");
        }


    }
}
